package com.boco.transnms.server.bo.ibo.workflow;

import com.boco.transnms.common.dto.base.DboCollection;
import com.boco.transnms.common.dto.base.BoQueryContext;
import com.boco.common.util.except.UserException;

import java.util.HashMap;
import com.boco.transnms.common.dto.AttempHandler;
import com.boco.transnms.common.dto.base.BoActionContext;
import com.boco.transnms.common.dto.base.DataObjectList;
import java.util.Vector;

/**
 * <p>Title: </p>
 *
 * <p>Description: WebMaster4.x</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: BOCO</p>
 *
 * @author not attributable
 * @version 4.2.x
 */
public interface IHandlerBO {
    DataObjectList getHandlerBySheetObjId(BoActionContext context,String sheetType,Long sheetObjId,Long hdlType) throws UserException ;
    AttempHandler getSingleHandlerByUser(BoActionContext actionContext, Long sheetType, String sheetId, Long userType,String depCuid,String userCuid) throws Exception ;
    DataObjectList getDesignerBySheet(BoActionContext actionContext, String sheetId)throws UserException ;
    DataObjectList getDispatchBySheet(BoActionContext actionContext, String sheetId)throws UserException;
    AttempHandler getSingleDispatchByUser(BoActionContext actionContext, String sheetId, String depCuid,String userCuid) throws Exception ;
    AttempHandler getSingleApproveByUser(BoActionContext actionContext, String sheetId, String depCuid,String userCuid) throws Exception ;
    Vector getDesignerFilter(BoActionContext actionContext, String userId,String depId)throws UserException ;

    void modifyFinishByUser(BoActionContext actionContext, Long sheetType, String sheetId, Long userType,String depCuid,String userCuid,Boolean finishStat) throws Exception ;
    void addAllHandler(BoActionContext context,HashMap map) throws UserException ;
    void modifyHandler(BoActionContext context,AttempHandler handler) throws UserException ;
    void modifyAllDesigner(BoActionContext context,HashMap map,String sheetCuid) throws UserException ;
    //void deleteHandlerBySheet(BoActionContext context,Long sheetType ,String sheetId) throws UserException ;
    void deleteDesignerBySheet(BoActionContext actionContext, String sheetCuid) throws Exception ;
    //void modifyAllHandler(BoActionContext context,HashMap map,String SheetCuid) throws UserException ;
    Boolean isCheckDesignFinish(BoActionContext actionContext,String sheetId)throws UserException;
    DboCollection getHandlerBySql(BoActionContext context,String condition)throws UserException;


}
